Die Funktion „preg_match()“ in PHP wird verwendet, um eine Zeichenfolge nach einem Muster zu durchsuchen und Informationen über die Übereinstimmung zurückzugeben. Die Syntax der Funktion „preg_match()“ lautet wie folgt:
```php
int preg_match ( string $pattern, string $subject, array &$matches [, int $flags =0 [, int $offset =0 ]] )
„
Wo,
- $pattern: Das Muster, nach dem gesucht werden soll. Dies kann eine einfache Zeichenfolge oder ein regulärer Ausdruck sein.
- $subject: Die zu suchende Zeichenfolge.
- &$matches: Ein Array, das mit den Ergebnissen der Suche gefüllt wird.
- $flags: Optionale Flags, mit denen das Verhalten der Funktion geändert werden kann.
- $offset: Optionaler Offset, bei dem die Suche beginnen soll.
Beispiel 1:Einfache String-Suche
```php
$subject ="Der schnelle Braunfuchs springt über den faulen Hund.";
$pattern ="/fox/";
preg_match($pattern, $subject, $matches);
print_r($matches);
„
Ausgabe:
„
Array
(
[0] => Fuchs
)
„
In diesem Beispiel ist „$pattern“ eine einfache Zeichenfolge „fox“. Das Array „$matches“ enthält das erste Vorkommen des Musters in der Zeichenfolge „$subject“.
Beispiel 2:Suche nach regulären Ausdrücken
```php
$subject ="Der schnelle Braunfuchs springt über den faulen Hund.";
$pattern ="/^The.*$/";
preg_match($pattern, $subject, $matches);
print_r($matches);
„
Ausgabe:
„
Array
(
[0] => Der schnelle Braunfuchs springt über den faulen Hund.
)
„
In diesem Beispiel ist „$pattern“ ein regulärer Ausdruck, der mit jeder Zeichenfolge übereinstimmt, die mit „The“ beginnt und mit einem Punkt endet. Das Array „$matches“ enthält die gesamte passende Zeichenfolge.
Beispiel 3:Flags
Das Argument „$flags“ kann verwendet werden, um das Verhalten der Funktion „preg_match()“ zu ändern. Einige häufige Flags sind:
- PREG_OFFSET_CAPTURE: Dieses Flag bewirkt, dass „preg_match()“ den Startoffset jeder Übereinstimmung im Array „$matches“ zurückgibt.
- PREG_IGNORE_CASE: Dieses Flag bewirkt, dass „preg_match()“ beim Abgleichen des Musters die Groß-/Kleinschreibung ignoriert.
- PREG_MULTILINE: Dieses Flag bewirkt, dass „preg_match()“ die Zeichenfolge „$subject“ als mehrere Zeilen behandelt.
Hier ist ein Beispiel für die Verwendung des Flags „PREG_OFFSET_CAPTURE“:
```php
$subject ="Der schnelle Braunfuchs springt über den faulen Hund.";
$pattern ="/fox/";
preg_match($pattern, $subject, $matches, PREG_OFFSET_CAPTURE);
print_r($matches);
„
Ausgabe:
„
Array
(
[0] => Array
(
[0] => Fuchs
[1] => 16
)
)
„
In diesem Beispiel enthält das Array „$matches“ den Startoffset der Übereinstimmung in der Zeichenfolge „$subject“.
Schlussfolgerung
Die Funktion „preg_match()“ ist ein leistungsstarkes Werkzeug zum Durchsuchen von Zeichenfolgen nach Mustern. Durch die Verwendung regulärer Ausdrücke können Sie Informationen leicht aus Texten finden und extrahieren.